package com.hsteach.dao.mapper.visit;

import java.util.List;
import com.hsteach.dao.domain.visit.VisitInterestTag;
import com.hsteach.dao.domain.visit.VisitRecord;
import org.apache.ibatis.annotations.Param;

/**
 * 学生重点关注项Mapper接口
 * 
 * @author fanxquer
 * @date 2023-07-21
 */
public interface VisitInterestTagMapper 
{
    /**
     * 查询学生重点关注项
     * 
     * @param id 学生重点关注项主键
     * @return 学生重点关注项
     */
    public VisitInterestTag selectVisitInterestTagById(Long id);
    public List<VisitInterestTag> selectVisitInterestTagByRecordIds(List<Long> recordIds);


    public List<VisitInterestTag> selectVisitInterestTagByPersonIds(@Param("personIds") List<String> personIds);

    /**
     * 查询学生重点关注项列表
     * 
     * @param visitInterestTag 学生重点关注项
     * @return 学生重点关注项集合
     */
    public List<VisitInterestTag> selectVisitInterestTagList(VisitInterestTag visitInterestTag);

    public List<VisitRecord> selectAllInterestSumGroupByClassIds(@Param("classIds") List<String> classIds);

    /**
     * 新增学生重点关注项
     * 
     * @param visitInterestTag 学生重点关注项
     * @return 结果
     */
    public int insertVisitInterestTag(VisitInterestTag visitInterestTag);

    public int batchInsert(List<VisitInterestTag> list);

    /**
     * 修改学生重点关注项
     * 
     * @param visitInterestTag 学生重点关注项
     * @return 结果
     */
    public int updateVisitInterestTag(VisitInterestTag visitInterestTag);

    /**
     * 删除学生重点关注项
     * 
     * @param id 学生重点关注项主键
     * @return 结果
     */
    public int deleteVisitInterestTagById(Long id);

    public int deleteByPersonIdAndType(@Param("personId") String personId, @Param("dataType") Integer dataType, @Param("recordId") Long recordId);

    /**
     * 批量删除学生重点关注项
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteVisitInterestTagByIds(Long[] ids);
}
